Wireless communication between devices is becoming a more prevalent and accepted method of providing network communication. Wireless communication may take place on a mesh network comprised of mesh boxes or mesh-configured computing devices referred to as mesh nodes. A mesh network is a network topology in which mesh nodes are connected by self-forming connections as mesh nodes enter the network. In a large-scale well-connected mesh network, users expect to access any part of the mesh network from any other part of the mesh. Stated another way, users want to access the same resources from their desktop at home, from their laptop, from a coffee shop, from a kiosk at the library, or from a tablet at school. Assuming all the locations are connected to the same mesh network, this expectation of connectivity is reasonable.
Wireless communication, however, may have several limitations that effect communication on a mesh network. These limitations may arise from the routing protocol of the mesh network. In order to communicate information between two distant mesh nodes, mesh nodes route through intermediate mesh nodes. A data packet routed through a mesh node is generally referred to as a hop. For example, if a data packet must traverse two mesh nodes before reaching a destination mesh node, the data packet will make three hops. Also, a data packet may have several paths through the mesh available for routing. Each of the several paths may have different connectivity. For example, one path may require a data packet to make eight hops while another path may only require two hops. In general, as hops on the mesh increase, latency increases; hence, the communication path between two mesh nodes cannot practically scale beyond a limited number of hops before connectivity falls below user expectations. Accordingly, there exists a need to identify the path through a mesh network with the fewest number of hops in order to minimize latency for devices communicating on a mesh network.